Computer-aided cell-based design has been developed for designing integrated circuits, e.g., large scale integrated circuits such as application specific integrated circuits (ASICs). A cell, such as a standard cell, is configured to perform a logic circuit function that has been pre-designed and pre-verified as a building block of an integrated circuit. In a standard cell design, each distinct cell in a library may have geometries of active, gate, and metal levels. Examples of standard cells include an inverter, a NAND gate, a NOR gate, a flip flop, and other logic gate circuits.
Integrated circuit design includes mainly of two steps: placement and routing. During the placement step, the positions and orientations of cells are determined. During the routing step, interconnects or conductive features are added to connect ports of the cells.